package com.godpaper.util
{
	import de.polygonal.ds.Array2;
	
	import flash.utils.Dictionary;

	public class HashTable extends Dictionary
	{
		public function HashTable(weakKeys:Boolean=false)
		{
			//TODO: implement function
			super(weakKeys);
		}
		
		/**
		 * 
		 * The lookup function returns true if it finds the position 
		 * in the hashtable and the value in the hashtable can be returned immediately. 
		 * Lookup() might also encounter a lower value in the hashtable that is larger than alpha. 
		 * In this case, the current alpha can immediately be set to the hashvalue. 
		 * For this reason, I pass alpha and beta by reference to lookup(), 
		 * so lookup() can modify their values.  
		 * 
		 * @param position the postion wanted be found.
		 * @param depth	the value of this position depth.
		 * @param alpha the value that hashtable is larger than.
		 * @param beta the value that hashtable is smaller than.
		 * @param hashValue the hashTable value.
		 * @return true if it finds the position
		 * 
		 */		
		public function lookup(position:Array2,depth:int,alpha:int,beta:int,hashValue:Number):Boolean
		{
			return new Boolean(position);	
		}
		
		public function store(position:Array2,depth:int,bestValue:int,alpha:int,beta:int):Boolean
		{
			return new Boolean("success");	
		}
		
	}
}